---
title: "Simulate Test"
description: "Since hot-updater does not work in dev environment, you need to test it in Release mode as shown below."
icon: TestTube
---

import { Tabs, Tab } from 'fumadocs-ui/components/tabs';

## Checklist
- Make sure `hot-updater.config.ts` is properly configured.
- Make sure `HotUpdater.wrap` is properly implemented.


## Step 1: Simulator Release Mode

Run your app in Release mode to test hot-updater (it doesn't work in dev mode).

<Tabs items={['Bare (React Native CLI)', 'Rock', 'Expo']}>
  <Tab value="Bare (React Native CLI)">
    **iOS:**
    ```sh
    cd ios && pod install && cd ..
    npx react-native run-ios --mode Release
    ```

    **Android:**
    ```sh
    npx react-native run-android --mode Release
    ```
  </Tab>
  <Tab value="Rock">
    **iOS:**
    ```sh
    npx rock run:ios --configuration Release
    ```

    **Android:**
    ```sh
    npx rock run:android --variant Release
    ```
  </Tab>
  <Tab value="Expo">
    **iOS:**
    ```sh
    npx expo run:ios --configuration Release
    ```

    **Android:**
    ```sh
    npx expo run:android --variant release
    ```
  </Tab>
</Tabs>

## Step 2: Deploy

Deploy with interactive mode and force update flag enabled in hot-updater deploy mode.

When [HotUpdater.wrap](/docs/react-native-api/wrap) is set up, updates will be applied when you restart the app.

You can check the update progress status using [useHotUpdaterStore](/docs/react-native-api/useHotUpdaterStore).


<video src={"/docs/deploy/deploy.mov"}  controls autoPlay loop muted />


### For Normal Deployment

This is the standard deployment mode. After an update is created, users need to restart their app after downloading the bundle for the update to take effect.

```package-install
npx hot-updater deploy -i
```


### For Emergency Deployment

This is the emergency deployment mode. After an update is created, the bundle will automatically reload and apply the update as soon as users download it.

```package-install
npx hot-updater deploy -i --force-update
```


## Step 3: Rollback

<video src={"/docs/console/console.mov"} controls autoPlay loop muted />

When you set a bundle's `enabled` status to `false` in the console, users who have that bundle will immediately force update to the **previous bundle**.

Open the console and set the bundle's `enabled` status to `false`.

```package-install
npx hot-updater console
```
